<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="PasDoc 0.9.0">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>dnssend</title>
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
<h1 class="unit">Unit dnssend</h1>
<table class="sections">
<tr>
<td><a class="section"  href="#@Description">Description</a></td><td><a class="section"  href="#@Uses">uses</a></td><td><a class="section"  href="#@Classes">Classes, Interfaces, Objects and Records</a></td><td><a class="section"  href="#@FuncsProcs">Functions and Procedures</a></td><td>Types</td><td><a class="section"  href="#@Constants">Constants</a></td><td>Variables</td></tr></table>
<a name="@Description"></a><h2 class="description">Description</h2>
<p>
DNS client by UDP or TCP</p>
<p>
 Support for sending DNS queries by UDP or TCP protocol. It can retrieve zone transfers too!

<p>Used RFC: RFC-1035, RFC-1183, RFC1706, RFC1712, RFC2163, RFC2230</p>
<a name="@Uses"></a><h2 class="uses">uses</h2>
<ul class="useslist"><li>SysUtils</li><li>Classes</li><li><a   href="blcksock.html">blcksock</a></li><li><a   href="synautil.html">synautil</a></li><li><a   href="synaip.html">synaip</a></li><li>synsock</li></ul><h2 class="overview">Overview</h2>
<a name="@Classes"></a><h3 class="cio">Classes, Interfaces, Objects and Records</h3>
<table class="classestable">
<tr class="listheader">
<th class="itemname">Name</th>
<th class="itemdesc">Description</th>
</tr>
<tr class="list">
<td class="itemname">Class&nbsp;<a class="bold"  href="dnssend.TDNSSend.html"><code>TDNSSend</code></a></td>
<td class="itemdesc">Implementation of DNS protocol by UDP or TCP protocol.</td>
</tr>
</table>
<a name="@FuncsProcs"></a><h3 class="summary">Functions and Procedures</h3>
<table class="summary">
<tr class="list">
<td class="itemcode"><code>function <b><a   href="dnssend.html#GetMailServers">GetMailServers</a></b>(const DNSHost, Domain: AnsiString; const Servers: TStrings): Boolean;</code></td>
</tr>
</table>
<a name="@Constants"></a><h3 class="summary">Constants</h3>
<table class="summary">
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#cDnsProtocol">cDnsProtocol</a></b> = '53';</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_A">QTYPE_A</a></b> = 1;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_NS">QTYPE_NS</a></b> = 2;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MD">QTYPE_MD</a></b> = 3;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MF">QTYPE_MF</a></b> = 4;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_CNAME">QTYPE_CNAME</a></b> = 5;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_SOA">QTYPE_SOA</a></b> = 6;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MB">QTYPE_MB</a></b> = 7;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MG">QTYPE_MG</a></b> = 8;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MR">QTYPE_MR</a></b> = 9;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_NULL">QTYPE_NULL</a></b> = 10;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_WKS">QTYPE_WKS</a></b> = 11;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_PTR">QTYPE_PTR</a></b> = 12;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_HINFO">QTYPE_HINFO</a></b> = 13;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MINFO">QTYPE_MINFO</a></b> = 14;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MX">QTYPE_MX</a></b> = 15;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_TXT">QTYPE_TXT</a></b> = 16;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_RP">QTYPE_RP</a></b> = 17;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_AFSDB">QTYPE_AFSDB</a></b> = 18;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_X25">QTYPE_X25</a></b> = 19;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_ISDN">QTYPE_ISDN</a></b> = 20;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_RT">QTYPE_RT</a></b> = 21;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_NSAP">QTYPE_NSAP</a></b> = 22;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_NSAPPTR">QTYPE_NSAPPTR</a></b> = 23;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_SIG">QTYPE_SIG</a></b> = 24;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_KEY">QTYPE_KEY</a></b> = 25;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_PX">QTYPE_PX</a></b> = 26;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_GPOS">QTYPE_GPOS</a></b> = 27;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_AAAA">QTYPE_AAAA</a></b> = 28;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_LOC">QTYPE_LOC</a></b> = 29;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_NXT">QTYPE_NXT</a></b> = 30;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_SRV">QTYPE_SRV</a></b> = 33;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_NAPTR">QTYPE_NAPTR</a></b> = 35;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_KX">QTYPE_KX</a></b> = 36;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_SPF">QTYPE_SPF</a></b> = 99;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_AXFR">QTYPE_AXFR</a></b> = 252;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MAILB">QTYPE_MAILB</a></b> = 253;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_MAILA">QTYPE_MAILA</a></b> = 254;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="dnssend.html#QTYPE_ALL">QTYPE_ALL</a></b> = 255;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Functions and Procedures</h3>
<table class="detail">
<tr class="list">
<td class="itemcode"><a name="GetMailServers"></a><code>function <b>GetMailServers</b>(const DNSHost, Domain: AnsiString; const Servers: TStrings): Boolean;</code></td>
</tr>
</table>
<p>
A very useful function, and example of it's use is found in the TDNSSend object. This function is used to get mail servers for a domain and sort them by preference numbers. &quot;Servers&quot; contains only the domain names of the mail servers in the right order (without preference number!). The first domain name will always be the highest preferenced mail server. Returns boolean <code>True</code> if all went well.</p>
<h3 class="detail">Constants</h3>
<table class="detail">
<tr class="list">
<td class="itemcode"><a name="cDnsProtocol"></a><code><b>cDnsProtocol</b> = '53';</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_A"></a><code><b>QTYPE_A</b> = 1;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_NS"></a><code><b>QTYPE_NS</b> = 2;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MD"></a><code><b>QTYPE_MD</b> = 3;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MF"></a><code><b>QTYPE_MF</b> = 4;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_CNAME"></a><code><b>QTYPE_CNAME</b> = 5;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_SOA"></a><code><b>QTYPE_SOA</b> = 6;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MB"></a><code><b>QTYPE_MB</b> = 7;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MG"></a><code><b>QTYPE_MG</b> = 8;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MR"></a><code><b>QTYPE_MR</b> = 9;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_NULL"></a><code><b>QTYPE_NULL</b> = 10;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_WKS"></a><code><b>QTYPE_WKS</b> = 11;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_PTR"></a><code><b>QTYPE_PTR</b> = 12;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_HINFO"></a><code><b>QTYPE_HINFO</b> = 13;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MINFO"></a><code><b>QTYPE_MINFO</b> = 14;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MX"></a><code><b>QTYPE_MX</b> = 15;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_TXT"></a><code><b>QTYPE_TXT</b> = 16;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_RP"></a><code><b>QTYPE_RP</b> = 17;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_AFSDB"></a><code><b>QTYPE_AFSDB</b> = 18;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_X25"></a><code><b>QTYPE_X25</b> = 19;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_ISDN"></a><code><b>QTYPE_ISDN</b> = 20;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_RT"></a><code><b>QTYPE_RT</b> = 21;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_NSAP"></a><code><b>QTYPE_NSAP</b> = 22;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_NSAPPTR"></a><code><b>QTYPE_NSAPPTR</b> = 23;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_SIG"></a><code><b>QTYPE_SIG</b> = 24;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_KEY"></a><code><b>QTYPE_KEY</b> = 25;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_PX"></a><code><b>QTYPE_PX</b> = 26;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_GPOS"></a><code><b>QTYPE_GPOS</b> = 27;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_AAAA"></a><code><b>QTYPE_AAAA</b> = 28;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_LOC"></a><code><b>QTYPE_LOC</b> = 29;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_NXT"></a><code><b>QTYPE_NXT</b> = 30;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_SRV"></a><code><b>QTYPE_SRV</b> = 33;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_NAPTR"></a><code><b>QTYPE_NAPTR</b> = 35;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_KX"></a><code><b>QTYPE_KX</b> = 36;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_SPF"></a><code><b>QTYPE_SPF</b> = 99;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_AXFR"></a><code><b>QTYPE_AXFR</b> = 252;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MAILB"></a><code><b>QTYPE_MAILB</b> = 253;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_MAILA"></a><code><b>QTYPE_MAILA</b> = 254;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="itemcode"><a name="QTYPE_ALL"></a><code><b>QTYPE_ALL</b> = 255;</code></td>
</tr>
</table>
&nbsp;<hr noshade size="1"><span class="appinfo"><em>Generated by <a  target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.9.0</a> on 2009-10-08 16:24:25</em>
</span>
</body></html>
